hhkb
모의해킹

호스트기반모의해킹_39_윈도우 Unattended 파일 악용

작성자 : Heehyeon Yoo|2025-12-14
# 모의해킹# Post-Exploitation# Windows# Privilege Escalation# Password Hunting

1. 개요

대규모 기업 환경에서는 수백 대의 PC나 서버를 일일이 설치할 수 없으므로, 자동화된 설치(Provisioning) 솔루션을 사용한다. 이때 윈도우 설치 및 설정을 자동화하기 위해 사용되는 설정 파일이 바로 Unattended File이다.

  • 문제점: 이 파일에는 초기 관리자 계정 생성, 오토 로그인 설정 등을 위해 Administrator 계정 정보가 하드코딩되어 있는 경우가 많다.
  • 위험성: 설치 후 삭제되어야 하지만, 실수로 남아있는 경우 공격자는 이를 통해 손쉽게 로컬 관리자 권한을 획득할 수 있다.

2. 파일 탐색(Discovery)

Unattended 파일은 주로 XML이나 INF 형식을 띄며, 특정 디렉토리에 위치한다.

2.1 주요 위치 및 파일명

  • 위치:
    • C:\Windows\Panther\(가장 흔함)
    • C:\Windows\Panther\Unattend\
    • C:\Windows\System32\Sysprep\
  • 파일명:
    • Unattend.xml
    • Unattended.xml
    • sysprep.inf
    • sysprep.xml

2.2 탐색 명령어(PowerShell)

# C:\Windows 디렉토리 하위에서 관련 파일 검색
Get-ChildItem -Path C:\Windows -Include Unattend*.xml, sysprep*.inf -Recurse -ErrorAction SilentlyContinue

3. 비밀번호 추출 및 디코딩(Exploitation)

3.1 파일 내용 분석

Unattended.xml 파일을 열어 <UserAccounts> 또는 <AutoLogon> 섹션을 확인한다.

<UserAccounts>
    <LocalAccounts>
        <LocalAccount wcm:action="add">
            <Password>
                <Value>UEFzc3dvcmQxMjMh</Value> <!-- Base64 Encoded -->
                <PlainText>false</PlainText>
            </Password>
            <Description>Local Administrator Account</Description>
            <DisplayName>Administrator</DisplayName>
            <Group>Administrators</Group>
            <Name>Administrator</Name>
        </LocalAccount>
    </LocalAccounts>
</UserAccounts>
  • Value: UEFzc3dvcmQxMjMh(Base64 인코딩된 비밀번호).
  • PlainText: false(평문이 아님을 명시).

3.2 Base64 디코딩

리눅스라면 echo ... | base64 -d로 간단하지만, 윈도우 환경(PowerShell)에서는 .NET 클래스를 사용해야 한다.

$b64 = "UEFzc3dvcmQxMjMh"
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($b64))
# 결과: Password123!

4. 실무 팁

  • Sysprep: 시스템 이미지를 일반화(Generalize)할 때 생성되는 잔여 파일들도 주의 깊게 살펴봐야 한다.
  • 권한: 대부분의 Unattended 파일은 World-Readable(모든 사용자 읽기 가능) 권한을 가지고 있어, 낮은 권한의 공격자도 쉽게 내용을 읽을 수 있다.